//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//********************************************************* 

using System.Windows.Forms;
using Microsoft.Office.Tools;

namespace Microsoft.TridentWordAddIn.AddIn
{
    /// <summary>
    /// Interface for return the current window key and adding task panes
    /// </summary>
    public interface IWindowContainer
    {
        /// <summary>
        /// Adds a new task pane to the current active window in Word 2007
        /// </summary>
        /// <param name="userControl">The user control to be displayed in the CustomTaskPane</param>
        /// <param name="taskPaneTitle">The task pane title.</param>
        /// <returns>A wrapper for the new CustomTaskPane</returns>
        CustomTaskPane AddTaskPane(UserControl userControl, string taskPaneTitle);

        /// <summary>
        /// Removes the task panes for the active document/window.
        /// </summary>
        void RemoveTaskPanes();

        /// <summary>
        /// Gets the task pane.
        /// </summary>
        /// <param name="title">The title.</param>
        /// <param name="documentKey">The document key.</param>
        /// <returns>CustomTaskPane</returns>
        CustomTaskPane GetTaskPane(string title, int documentKey);

        /// <summary>
        /// Removes the task pane.
        /// </summary>
        /// <param name="title">The title.</param>
        void RemoveTaskPane(string title);
    }
}
